package hello.tencentcloud;

import com.tencentcloudapi.common.AbstractModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;

public class TextTranslateRequest extends AbstractModel {
    /**
     * 腾讯云项目 ID，可填 0，总长度不超过 1024 字节。
     */
    @SerializedName("ProjectId")
    @Expose
    private Integer ProjectId;

    /**
     * 待翻译的文本
     */
    @SerializedName("SourceText")
    @Expose
    private String SourceText;

    /**
     * 源语言，参照Target支持语言列表
     */
    @SerializedName("Source")
    @Expose
    private String Source;


    /**
     * 目标语言，参照支持语言列表
     * zh : 中文
     * en : 英文
     * jp : 日语
     * kr : 韩语
     * de : 德语
     * fr : 法语
     * es : 西班牙文
     * it : 意大利文
     * tr : 土耳其文
     * ru : 俄文
     * pt : 葡萄牙文
     * vi : 越南文
     * id : 印度尼西亚文
     * ms : 马来西亚文
     * th : 泰文
     * auto : 自动识别源语言，只能用于source字段
     */
    @SerializedName("Target")
    @Expose
    private String Target;


    /**
     * 获取腾讯云项目 ID，可填 0，总长度不超过 1024 字节。
     * @return ProjectId 腾讯云项目 ID，可填 0，总长度不超过 1024 字节。
     */
    public Integer getProjectId() {
        return this.ProjectId;
    }

    /**
     * 设置腾讯云项目 ID，可填 0，总长度不超过 1024 字节。
     * @param ProjectId 腾讯云项目 ID，可填 0，总长度不超过 1024 字节。
     */
    public void setProjectId(Integer ProjectId) {
        this.ProjectId = ProjectId;
    }

    public String getSourceText() {
        return this.SourceText;
    }

    public void setSourceText(String SourceText) {
        this.SourceText = SourceText;
    }

    public String getSource() {
        return this.Source;
    }

    public void setSource(String Source) {
        this.Source = Source;
    }

    public String getTarget() {
        return this.Target;
    }

    public void setTarget(String Target) {
        this.Target = Target;
    }

    /**
     * 内部实现，用户禁止调用
     */
    public void toMap(HashMap<String, String> map, String prefix) {
        this.setParamSimple(map, prefix + "ProjectId", this.ProjectId);
        this.setParamSimple(map, prefix + "SourceText", this.SourceText);
        this.setParamSimple(map, prefix + "Source", this.Source);
        this.setParamSimple(map, prefix + "Target", this.Target);
    }
}